#############################################################################
#                     U N R E G I S T E R E D   C O P Y
# 
# You are on day 1 of your 30 day trial period.
# 
# This file was produced by an UNREGISTERED COPY of Parser Generator. It is
# for evaluation purposes only. If you continue to use Parser Generator 30
# days after installation then you are required to purchase a license. For
# more information see the online help or go to the Bumble-Bee Software
# homepage at:
# 
# http://www.bumblebeesoftware.com
# 
# This notice must remain present in the file. It cannot be removed.
#############################################################################

#############################################################################
# Parser.v
# YACC verbose file generated from Parser.y.
# 
# Date: 06/05/10
# Time: 15:20:52
# 
# AYACC Version: 2.07
#############################################################################


##############################################################################
# Rules
##############################################################################

    0  $accept : end $end

    1  end : statement_list

    2  statement_list : statement
    3                 | statement_list statement

    4  statement : expression_statement
    5            | compound_statement
    6            | selection_statement

    7  compound_statement : '{' statement_list '}'
    8                     | '{' '}'

    9  selection_statement : IF '(' expression ')' statement
   10                      | IF '(' expression ')' statement ELSE statement

   11  expression_statement : expression ';'
   12                       | ';'

   13  expression : assignment_expression
   14             | expression ',' assignment_expression

   15  assignment_expression : conditional_expression
   16                        | unary_expression assignment_operator assignment_expression

   17  assignment_operator : '='

   18  conditional_expression : logical_or_expression

   19  logical_or_expression : logical_and_expression
   20                        | logical_or_expression op_or logical_and_expression

   21  logical_and_expression : inclusive_or_expression
   22                         | logical_and_expression op_and inclusive_or_expression

   23  inclusive_or_expression : exclusive_or_expression
   24                          | inclusive_or_expression '|' exclusive_or_expression

   25  exclusive_or_expression : and_expression
   26                          | exclusive_or_expression '^' and_expression

   27  and_expression : equality_expression
   28                 | and_expression '&' equality_expression

   29  equality_expression : relational_expression
   30                      | equality_expression op_equal relational_expression
   31                      | equality_expression op_not_equal relational_expression

   32  relational_expression : shift_expression
   33                        | relational_expression '<' shift_expression
   34                        | relational_expression '>' shift_expression
   35                        | relational_expression op_smaller_equal shift_expression
   36                        | relational_expression op_larger_equal shift_expression

   37  shift_expression : additive_expression

   38  additive_expression : multiplicative_expression
   39                      | additive_expression '+' multiplicative_expression
   40                      | additive_expression '-' multiplicative_expression

   41  multiplicative_expression : cast_expression
   42                            | multiplicative_expression '*' cast_expression
   43                            | multiplicative_expression '/' cast_expression
   44                            | multiplicative_expression '%' cast_expression

   45  cast_expression : unary_expression

   46  unary_expression : postfix_expression
   47                   | unary_operator cast_expression

   48  unary_operator : '&'
   49                 | '*'
   50                 | '+'
   51                 | '-'
   52                 | '~'
   53                 | '!'

   54  postfix_expression : primary_expression
   55                     | postfix_expression '(' argument_expression_list ')'
   56                     | postfix_expression '(' ')'
   57                     | postfix_expression '.' identifier

   58  primary_expression : identifier
   59                     | constant
   60                     | '(' expression ')'

   61  argument_expression : assignment_expression

   62  argument_expression_list : argument_expression
   63                           | argument_expression_list ',' argument_expression

   64  constant : integer_constant
   65           | character_constant
   66           | floating_constant
   67           | string_constant
   68           | boolean_constant


##############################################################################
# States
##############################################################################

state 0
	$accept : . end $end

	'!'  shift 1
	'&'  shift 2
	'('  shift 3
	'*'  shift 4
	'+'  shift 5
	'-'  shift 6
	';'  shift 7
	'{'  shift 8
	'~'  shift 9
	boolean_constant  shift 10
	integer_constant  shift 11
	character_constant  shift 12
	floating_constant  shift 13
	identifier  shift 14
	string_constant  shift 15
	IF  shift 16

	unary_operator  goto 17
	constant  goto 18
	primary_expression  goto 19
	postfix_expression  goto 20
	unary_expression  goto 21
	cast_expression  goto 22
	multiplicative_expression  goto 23
	additive_expression  goto 24
	shift_expression  goto 25
	relational_expression  goto 26
	equality_expression  goto 27
	and_expression  goto 28
	exclusive_or_expression  goto 29
	inclusive_or_expression  goto 30
	logical_and_expression  goto 31
	logical_or_expression  goto 32
	conditional_expression  goto 33
	assignment_expression  goto 34
	expression  goto 35
	expression_statement  goto 36
	selection_statement  goto 37
	statement_list  goto 38
	statement  goto 39
	compound_statement  goto 40
	end  goto 41


state 1
	unary_operator : '!' .  (53)

	.  reduce 53


state 2
	unary_operator : '&' .  (48)

	.  reduce 48


state 3
	primary_expression : '(' . expression ')'

	'!'  shift 1
	'&'  shift 2
	'('  shift 3
	'*'  shift 4
	'+'  shift 5
	'-'  shift 6
	'~'  shift 9
	boolean_constant  shift 10
	integer_constant  shift 11
	character_constant  shift 12
	floating_constant  shift 13
	identifier  shift 14
	string_constant  shift 15

	unary_operator  goto 17
	constant  goto 18
	primary_expression  goto 19
	postfix_expression  goto 20
	unary_expression  goto 21
	cast_expression  goto 22
	multiplicative_expression  goto 23
	additive_expression  goto 24
	shift_expression  goto 25
	relational_expression  goto 26
	equality_expression  goto 27
	and_expression  goto 28
	exclusive_or_expression  goto 29
	inclusive_or_expression  goto 30
	logical_and_expression  goto 31
	logical_or_expression  goto 32
	conditional_expression  goto 33
	assignment_expression  goto 34
	expression  goto 42


state 4
	unary_operator : '*' .  (49)

	.  reduce 49


state 5
	unary_operator : '+' .  (50)

	.  reduce 50


state 6
	unary_operator : '-' .  (51)

	.  reduce 51


state 7
	expression_statement : ';' .  (12)

	.  reduce 12


state 8
	compound_statement : '{' . statement_list '}'
	compound_statement : '{' . '}'

	'!'  shift 1
	'&'  shift 2
	'('  shift 3
	'*'  shift 4
	'+'  shift 5
	'-'  shift 6
	';'  shift 7
	'{'  shift 8
	'}'  shift 43
	'~'  shift 9
	boolean_constant  shift 10
	integer_constant  shift 11
	character_constant  shift 12
	floating_constant  shift 13
	identifier  shift 14
	string_constant  shift 15
	IF  shift 16

	unary_operator  goto 17
	constant  goto 18
	primary_expression  goto 19
	postfix_expression  goto 20
	unary_expression  goto 21
	cast_expression  goto 22
	multiplicative_expression  goto 23
	additive_expression  goto 24
	shift_expression  goto 25
	relational_expression  goto 26
	equality_expression  goto 27
	and_expression  goto 28
	exclusive_or_expression  goto 29
	inclusive_or_expression  goto 30
	logical_and_expression  goto 31
	logical_or_expression  goto 32
	conditional_expression  goto 33
	assignment_expression  goto 34
	expression  goto 35
	expression_statement  goto 36
	selection_statement  goto 37
	statement_list  goto 44
	statement  goto 39
	compound_statement  goto 40


state 9
	unary_operator : '~' .  (52)

	.  reduce 52


state 10
	constant : boolean_constant .  (68)

	.  reduce 68


state 11
	constant : integer_constant .  (64)

	.  reduce 64


state 12
	constant : character_constant .  (65)

	.  reduce 65


state 13
	constant : floating_constant .  (66)

	.  reduce 66


state 14
	primary_expression : identifier .  (58)

	.  reduce 58


state 15
	constant : string_constant .  (67)

	.  reduce 67


state 16
	selection_statement : IF . '(' expression ')' statement
	selection_statement : IF . '(' expression ')' statement ELSE statement

	'('  shift 45


state 17
	unary_expression : unary_operator . cast_expression

	'!'  shift 1
	'&'  shift 2
	'('  shift 3
	'*'  shift 4
	'+'  shift 5
	'-'  shift 6
	'~'  shift 9
	boolean_constant  shift 10
	integer_constant  shift 11
	character_constant  shift 12
	floating_constant  shift 13
	identifier  shift 14
	string_constant  shift 15

	unary_operator  goto 17
	constant  goto 18
	primary_expression  goto 19
	postfix_expression  goto 20
	unary_expression  goto 46
	cast_expression  goto 47


state 18
	primary_expression : constant .  (59)

	.  reduce 59


state 19
	postfix_expression : primary_expression .  (54)

	.  reduce 54


state 20
	unary_expression : postfix_expression .  (46)
	postfix_expression : postfix_expression . '(' argument_expression_list ')'
	postfix_expression : postfix_expression . '(' ')'
	postfix_expression : postfix_expression . '.' identifier

	'('  shift 48
	'.'  shift 49
	.  reduce 46


state 21
	assignment_expression : unary_expression . assignment_operator assignment_expression
	cast_expression : unary_expression .  (45)

	'='  shift 50
	.  reduce 45

	assignment_operator  goto 51


state 22
	multiplicative_expression : cast_expression .  (41)

	.  reduce 41


state 23
	additive_expression : multiplicative_expression .  (38)
	multiplicative_expression : multiplicative_expression . '*' cast_expression
	multiplicative_expression : multiplicative_expression . '/' cast_expression
	multiplicative_expression : multiplicative_expression . '%' cast_expression

	'%'  shift 52
	'*'  shift 53
	'/'  shift 54
	.  reduce 38


state 24
	shift_expression : additive_expression .  (37)
	additive_expression : additive_expression . '+' multiplicative_expression
	additive_expression : additive_expression . '-' multiplicative_expression

	'+'  shift 55
	'-'  shift 56
	.  reduce 37


state 25
	relational_expression : shift_expression .  (32)

	.  reduce 32


state 26
	equality_expression : relational_expression .  (29)
	relational_expression : relational_expression . '<' shift_expression
	relational_expression : relational_expression . '>' shift_expression
	relational_expression : relational_expression . op_smaller_equal shift_expression
	relational_expression : relational_expression . op_larger_equal shift_expression

	'<'  shift 57
	'>'  shift 58
	op_larger_equal  shift 59
	op_smaller_equal  shift 60
	.  reduce 29


state 27
	and_expression : equality_expression .  (27)
	equality_expression : equality_expression . op_equal relational_expression
	equality_expression : equality_expression . op_not_equal relational_expression

	op_equal  shift 61
	op_not_equal  shift 62
	.  reduce 27


state 28
	exclusive_or_expression : and_expression .  (25)
	and_expression : and_expression . '&' equality_expression

	'&'  shift 63
	.  reduce 25


state 29
	inclusive_or_expression : exclusive_or_expression .  (23)
	exclusive_or_expression : exclusive_or_expression . '^' and_expression

	'^'  shift 64
	.  reduce 23


state 30
	logical_and_expression : inclusive_or_expression .  (21)
	inclusive_or_expression : inclusive_or_expression . '|' exclusive_or_expression

	'|'  shift 65
	.  reduce 21


state 31
	logical_or_expression : logical_and_expression .  (19)
	logical_and_expression : logical_and_expression . op_and inclusive_or_expression

	op_and  shift 66
	.  reduce 19


state 32
	conditional_expression : logical_or_expression .  (18)
	logical_or_expression : logical_or_expression . op_or logical_and_expression

	op_or  shift 67
	.  reduce 18


state 33
	assignment_expression : conditional_expression .  (15)

	.  reduce 15


state 34
	expression : assignment_expression .  (13)

	.  reduce 13


state 35
	expression_statement : expression . ';'
	expression : expression . ',' assignment_expression

	','  shift 68
	';'  shift 69


state 36
	statement : expression_statement .  (4)

	.  reduce 4


state 37
	statement : selection_statement .  (6)

	.  reduce 6


state 38
	end : statement_list .  (1)
	statement_list : statement_list . statement

	'!'  shift 1
	'&'  shift 2
	'('  shift 3
	'*'  shift 4
	'+'  shift 5
	'-'  shift 6
	';'  shift 7
	'{'  shift 8
	'~'  shift 9
	boolean_constant  shift 10
	integer_constant  shift 11
	character_constant  shift 12
	floating_constant  shift 13
	identifier  shift 14
	string_constant  shift 15
	IF  shift 16
	.  reduce 1

	unary_operator  goto 17
	constant  goto 18
	primary_expression  goto 19
	postfix_expression  goto 20
	unary_expression  goto 21
	cast_expression  goto 22
	multiplicative_expression  goto 23
	additive_expression  goto 24
	shift_expression  goto 25
	relational_expression  goto 26
	equality_expression  goto 27
	and_expression  goto 28
	exclusive_or_expression  goto 29
	inclusive_or_expression  goto 30
	logical_and_expression  goto 31
	logical_or_expression  goto 32
	conditional_expression  goto 33
	assignment_expression  goto 34
	expression  goto 35
	expression_statement  goto 36
	selection_statement  goto 37
	statement  goto 70
	compound_statement  goto 40


state 39
	statement_list : statement .  (2)

	.  reduce 2


state 40
	statement : compound_statement .  (5)

	.  reduce 5


state 41
	$accept : end . $end  (0)

	$end  accept


state 42
	expression : expression . ',' assignment_expression
	primary_expression : '(' expression . ')'

	')'  shift 71
	','  shift 68


state 43
	compound_statement : '{' '}' .  (8)

	.  reduce 8


state 44
	compound_statement : '{' statement_list . '}'
	statement_list : statement_list . statement

	'!'  shift 1
	'&'  shift 2
	'('  shift 3
	'*'  shift 4
	'+'  shift 5
	'-'  shift 6
	';'  shift 7
	'{'  shift 8
	'}'  shift 72
	'~'  shift 9
	boolean_constant  shift 10
	integer_constant  shift 11
	character_constant  shift 12
	floating_constant  shift 13
	identifier  shift 14
	string_constant  shift 15
	IF  shift 16

	unary_operator  goto 17
	constant  goto 18
	primary_expression  goto 19
	postfix_expression  goto 20
	unary_expression  goto 21
	cast_expression  goto 22
	multiplicative_expression  goto 23
	additive_expression  goto 24
	shift_expression  goto 25
	relational_expression  goto 26
	equality_expression  goto 27
	and_expression  goto 28
	exclusive_or_expression  goto 29
	inclusive_or_expression  goto 30
	logical_and_expression  goto 31
	logical_or_expression  goto 32
	conditional_expression  goto 33
	assignment_expression  goto 34
	expression  goto 35
	expression_statement  goto 36
	selection_statement  goto 37
	statement  goto 70
	compound_statement  goto 40


state 45
	selection_statement : IF '(' . expression ')' statement
	selection_statement : IF '(' . expression ')' statement ELSE statement

	'!'  shift 1
	'&'  shift 2
	'('  shift 3
	'*'  shift 4
	'+'  shift 5
	'-'  shift 6
	'~'  shift 9
	boolean_constant  shift 10
	integer_constant  shift 11
	character_constant  shift 12
	floating_constant  shift 13
	identifier  shift 14
	string_constant  shift 15

	unary_operator  goto 17
	constant  goto 18
	primary_expression  goto 19
	postfix_expression  goto 20
	unary_expression  goto 21
	cast_expression  goto 22
	multiplicative_expression  goto 23
	additive_expression  goto 24
	shift_expression  goto 25
	relational_expression  goto 26
	equality_expression  goto 27
	and_expression  goto 28
	exclusive_or_expression  goto 29
	inclusive_or_expression  goto 30
	logical_and_expression  goto 31
	logical_or_expression  goto 32
	conditional_expression  goto 33
	assignment_expression  goto 34
	expression  goto 73


state 46
	cast_expression : unary_expression .  (45)

	.  reduce 45


state 47
	unary_expression : unary_operator cast_expression .  (47)

	.  reduce 47


state 48
	postfix_expression : postfix_expression '(' . argument_expression_list ')'
	postfix_expression : postfix_expression '(' . ')'

	'!'  shift 1
	'&'  shift 2
	'('  shift 3
	')'  shift 74
	'*'  shift 4
	'+'  shift 5
	'-'  shift 6
	'~'  shift 9
	boolean_constant  shift 10
	integer_constant  shift 11
	character_constant  shift 12
	floating_constant  shift 13
	identifier  shift 14
	string_constant  shift 15

	unary_operator  goto 17
	constant  goto 18
	argument_expression  goto 75
	primary_expression  goto 19
	postfix_expression  goto 20
	unary_expression  goto 21
	cast_expression  goto 22
	multiplicative_expression  goto 23
	additive_expression  goto 24
	shift_expression  goto 25
	relational_expression  goto 26
	equality_expression  goto 27
	and_expression  goto 28
	exclusive_or_expression  goto 29
	inclusive_or_expression  goto 30
	logical_and_expression  goto 31
	logical_or_expression  goto 32
	conditional_expression  goto 33
	assignment_expression  goto 76
	argument_expression_list  goto 77


state 49
	postfix_expression : postfix_expression '.' . identifier

	identifier  shift 78


state 50
	assignment_operator : '=' .  (17)

	.  reduce 17


state 51
	assignment_expression : unary_expression assignment_operator . assignment_expression

	'!'  shift 1
	'&'  shift 2
	'('  shift 3
	'*'  shift 4
	'+'  shift 5
	'-'  shift 6
	'~'  shift 9
	boolean_constant  shift 10
	integer_constant  shift 11
	character_constant  shift 12
	floating_constant  shift 13
	identifier  shift 14
	string_constant  shift 15

	unary_operator  goto 17
	constant  goto 18
	primary_expression  goto 19
	postfix_expression  goto 20
	unary_expression  goto 21
	cast_expression  goto 22
	multiplicative_expression  goto 23
	additive_expression  goto 24
	shift_expression  goto 25
	relational_expression  goto 26
	equality_expression  goto 27
	and_expression  goto 28
	exclusive_or_expression  goto 29
	inclusive_or_expression  goto 30
	logical_and_expression  goto 31
	logical_or_expression  goto 32
	conditional_expression  goto 33
	assignment_expression  goto 79


state 52
	multiplicative_expression : multiplicative_expression '%' . cast_expression

	'!'  shift 1
	'&'  shift 2
	'('  shift 3
	'*'  shift 4
	'+'  shift 5
	'-'  shift 6
	'~'  shift 9
	boolean_constant  shift 10
	integer_constant  shift 11
	character_constant  shift 12
	floating_constant  shift 13
	identifier  shift 14
	string_constant  shift 15

	unary_operator  goto 17
	constant  goto 18
	primary_expression  goto 19
	postfix_expression  goto 20
	unary_expression  goto 46
	cast_expression  goto 80


state 53
	multiplicative_expression : multiplicative_expression '*' . cast_expression

	'!'  shift 1
	'&'  shift 2
	'('  shift 3
	'*'  shift 4
	'+'  shift 5
	'-'  shift 6
	'~'  shift 9
	boolean_constant  shift 10
	integer_constant  shift 11
	character_constant  shift 12
	floating_constant  shift 13
	identifier  shift 14
	string_constant  shift 15

	unary_operator  goto 17
	constant  goto 18
	primary_expression  goto 19
	postfix_expression  goto 20
	unary_expression  goto 46
	cast_expression  goto 81


state 54
	multiplicative_expression : multiplicative_expression '/' . cast_expression

	'!'  shift 1
	'&'  shift 2
	'('  shift 3
	'*'  shift 4
	'+'  shift 5
	'-'  shift 6
	'~'  shift 9
	boolean_constant  shift 10
	integer_constant  shift 11
	character_constant  shift 12
	floating_constant  shift 13
	identifier  shift 14
	string_constant  shift 15

	unary_operator  goto 17
	constant  goto 18
	primary_expression  goto 19
	postfix_expression  goto 20
	unary_expression  goto 46
	cast_expression  goto 82


state 55
	additive_expression : additive_expression '+' . multiplicative_expression

	'!'  shift 1
	'&'  shift 2
	'('  shift 3
	'*'  shift 4
	'+'  shift 5
	'-'  shift 6
	'~'  shift 9
	boolean_constant  shift 10
	integer_constant  shift 11
	character_constant  shift 12
	floating_constant  shift 13
	identifier  shift 14
	string_constant  shift 15

	unary_operator  goto 17
	constant  goto 18
	primary_expression  goto 19
	postfix_expression  goto 20
	unary_expression  goto 46
	cast_expression  goto 22
	multiplicative_expression  goto 83


state 56
	additive_expression : additive_expression '-' . multiplicative_expression

	'!'  shift 1
	'&'  shift 2
	'('  shift 3
	'*'  shift 4
	'+'  shift 5
	'-'  shift 6
	'~'  shift 9
	boolean_constant  shift 10
	integer_constant  shift 11
	character_constant  shift 12
	floating_constant  shift 13
	identifier  shift 14
	string_constant  shift 15

	unary_operator  goto 17
	constant  goto 18
	primary_expression  goto 19
	postfix_expression  goto 20
	unary_expression  goto 46
	cast_expression  goto 22
	multiplicative_expression  goto 84


state 57
	relational_expression : relational_expression '<' . shift_expression

	'!'  shift 1
	'&'  shift 2
	'('  shift 3
	'*'  shift 4
	'+'  shift 5
	'-'  shift 6
	'~'  shift 9
	boolean_constant  shift 10
	integer_constant  shift 11
	character_constant  shift 12
	floating_constant  shift 13
	identifier  shift 14
	string_constant  shift 15

	unary_operator  goto 17
	constant  goto 18
	primary_expression  goto 19
	postfix_expression  goto 20
	unary_expression  goto 46
	cast_expression  goto 22
	multiplicative_expression  goto 23
	additive_expression  goto 24
	shift_expression  goto 85


state 58
	relational_expression : relational_expression '>' . shift_expression

	'!'  shift 1
	'&'  shift 2
	'('  shift 3
	'*'  shift 4
	'+'  shift 5
	'-'  shift 6
	'~'  shift 9
	boolean_constant  shift 10
	integer_constant  shift 11
	character_constant  shift 12
	floating_constant  shift 13
	identifier  shift 14
	string_constant  shift 15

	unary_operator  goto 17
	constant  goto 18
	primary_expression  goto 19
	postfix_expression  goto 20
	unary_expression  goto 46
	cast_expression  goto 22
	multiplicative_expression  goto 23
	additive_expression  goto 24
	shift_expression  goto 86


state 59
	relational_expression : relational_expression op_larger_equal . shift_expression

	'!'  shift 1
	'&'  shift 2
	'('  shift 3
	'*'  shift 4
	'+'  shift 5
	'-'  shift 6
	'~'  shift 9
	boolean_constant  shift 10
	integer_constant  shift 11
	character_constant  shift 12
	floating_constant  shift 13
	identifier  shift 14
	string_constant  shift 15

	unary_operator  goto 17
	constant  goto 18
	primary_expression  goto 19
	postfix_expression  goto 20
	unary_expression  goto 46
	cast_expression  goto 22
	multiplicative_expression  goto 23
	additive_expression  goto 24
	shift_expression  goto 87


state 60
	relational_expression : relational_expression op_smaller_equal . shift_expression

	'!'  shift 1
	'&'  shift 2
	'('  shift 3
	'*'  shift 4
	'+'  shift 5
	'-'  shift 6
	'~'  shift 9
	boolean_constant  shift 10
	integer_constant  shift 11
	character_constant  shift 12
	floating_constant  shift 13
	identifier  shift 14
	string_constant  shift 15

	unary_operator  goto 17
	constant  goto 18
	primary_expression  goto 19
	postfix_expression  goto 20
	unary_expression  goto 46
	cast_expression  goto 22
	multiplicative_expression  goto 23
	additive_expression  goto 24
	shift_expression  goto 88


state 61
	equality_expression : equality_expression op_equal . relational_expression

	'!'  shift 1
	'&'  shift 2
	'('  shift 3
	'*'  shift 4
	'+'  shift 5
	'-'  shift 6
	'~'  shift 9
	boolean_constant  shift 10
	integer_constant  shift 11
	character_constant  shift 12
	floating_constant  shift 13
	identifier  shift 14
	string_constant  shift 15

	unary_operator  goto 17
	constant  goto 18
	primary_expression  goto 19
	postfix_expression  goto 20
	unary_expression  goto 46
	cast_expression  goto 22
	multiplicative_expression  goto 23
	additive_expression  goto 24
	shift_expression  goto 25
	relational_expression  goto 89


state 62
	equality_expression : equality_expression op_not_equal . relational_expression

	'!'  shift 1
	'&'  shift 2
	'('  shift 3
	'*'  shift 4
	'+'  shift 5
	'-'  shift 6
	'~'  shift 9
	boolean_constant  shift 10
	integer_constant  shift 11
	character_constant  shift 12
	floating_constant  shift 13
	identifier  shift 14
	string_constant  shift 15

	unary_operator  goto 17
	constant  goto 18
	primary_expression  goto 19
	postfix_expression  goto 20
	unary_expression  goto 46
	cast_expression  goto 22
	multiplicative_expression  goto 23
	additive_expression  goto 24
	shift_expression  goto 25
	relational_expression  goto 90


state 63
	and_expression : and_expression '&' . equality_expression

	'!'  shift 1
	'&'  shift 2
	'('  shift 3
	'*'  shift 4
	'+'  shift 5
	'-'  shift 6
	'~'  shift 9
	boolean_constant  shift 10
	integer_constant  shift 11
	character_constant  shift 12
	floating_constant  shift 13
	identifier  shift 14
	string_constant  shift 15

	unary_operator  goto 17
	constant  goto 18
	primary_expression  goto 19
	postfix_expression  goto 20
	unary_expression  goto 46
	cast_expression  goto 22
	multiplicative_expression  goto 23
	additive_expression  goto 24
	shift_expression  goto 25
	relational_expression  goto 26
	equality_expression  goto 91


state 64
	exclusive_or_expression : exclusive_or_expression '^' . and_expression

	'!'  shift 1
	'&'  shift 2
	'('  shift 3
	'*'  shift 4
	'+'  shift 5
	'-'  shift 6
	'~'  shift 9
	boolean_constant  shift 10
	integer_constant  shift 11
	character_constant  shift 12
	floating_constant  shift 13
	identifier  shift 14
	string_constant  shift 15

	unary_operator  goto 17
	constant  goto 18
	primary_expression  goto 19
	postfix_expression  goto 20
	unary_expression  goto 46
	cast_expression  goto 22
	multiplicative_expression  goto 23
	additive_expression  goto 24
	shift_expression  goto 25
	relational_expression  goto 26
	equality_expression  goto 27
	and_expression  goto 92


state 65
	inclusive_or_expression : inclusive_or_expression '|' . exclusive_or_expression

	'!'  shift 1
	'&'  shift 2
	'('  shift 3
	'*'  shift 4
	'+'  shift 5
	'-'  shift 6
	'~'  shift 9
	boolean_constant  shift 10
	integer_constant  shift 11
	character_constant  shift 12
	floating_constant  shift 13
	identifier  shift 14
	string_constant  shift 15

	unary_operator  goto 17
	constant  goto 18
	primary_expression  goto 19
	postfix_expression  goto 20
	unary_expression  goto 46
	cast_expression  goto 22
	multiplicative_expression  goto 23
	additive_expression  goto 24
	shift_expression  goto 25
	relational_expression  goto 26
	equality_expression  goto 27
	and_expression  goto 28
	exclusive_or_expression  goto 93


state 66
	logical_and_expression : logical_and_expression op_and . inclusive_or_expression

	'!'  shift 1
	'&'  shift 2
	'('  shift 3
	'*'  shift 4
	'+'  shift 5
	'-'  shift 6
	'~'  shift 9
	boolean_constant  shift 10
	integer_constant  shift 11
	character_constant  shift 12
	floating_constant  shift 13
	identifier  shift 14
	string_constant  shift 15

	unary_operator  goto 17
	constant  goto 18
	primary_expression  goto 19
	postfix_expression  goto 20
	unary_expression  goto 46
	cast_expression  goto 22
	multiplicative_expression  goto 23
	additive_expression  goto 24
	shift_expression  goto 25
	relational_expression  goto 26
	equality_expression  goto 27
	and_expression  goto 28
	exclusive_or_expression  goto 29
	inclusive_or_expression  goto 94


state 67
	logical_or_expression : logical_or_expression op_or . logical_and_expression

	'!'  shift 1
	'&'  shift 2
	'('  shift 3
	'*'  shift 4
	'+'  shift 5
	'-'  shift 6
	'~'  shift 9
	boolean_constant  shift 10
	integer_constant  shift 11
	character_constant  shift 12
	floating_constant  shift 13
	identifier  shift 14
	string_constant  shift 15

	unary_operator  goto 17
	constant  goto 18
	primary_expression  goto 19
	postfix_expression  goto 20
	unary_expression  goto 46
	cast_expression  goto 22
	multiplicative_expression  goto 23
	additive_expression  goto 24
	shift_expression  goto 25
	relational_expression  goto 26
	equality_expression  goto 27
	and_expression  goto 28
	exclusive_or_expression  goto 29
	inclusive_or_expression  goto 30
	logical_and_expression  goto 95


state 68
	expression : expression ',' . assignment_expression

	'!'  shift 1
	'&'  shift 2
	'('  shift 3
	'*'  shift 4
	'+'  shift 5
	'-'  shift 6
	'~'  shift 9
	boolean_constant  shift 10
	integer_constant  shift 11
	character_constant  shift 12
	floating_constant  shift 13
	identifier  shift 14
	string_constant  shift 15

	unary_operator  goto 17
	constant  goto 18
	primary_expression  goto 19
	postfix_expression  goto 20
	unary_expression  goto 21
	cast_expression  goto 22
	multiplicative_expression  goto 23
	additive_expression  goto 24
	shift_expression  goto 25
	relational_expression  goto 26
	equality_expression  goto 27
	and_expression  goto 28
	exclusive_or_expression  goto 29
	inclusive_or_expression  goto 30
	logical_and_expression  goto 31
	logical_or_expression  goto 32
	conditional_expression  goto 33
	assignment_expression  goto 96


state 69
	expression_statement : expression ';' .  (11)

	.  reduce 11


state 70
	statement_list : statement_list statement .  (3)

	.  reduce 3


state 71
	primary_expression : '(' expression ')' .  (60)

	.  reduce 60


state 72
	compound_statement : '{' statement_list '}' .  (7)

	.  reduce 7


state 73
	selection_statement : IF '(' expression . ')' statement
	selection_statement : IF '(' expression . ')' statement ELSE statement
	expression : expression . ',' assignment_expression

	')'  shift 97
	','  shift 68


state 74
	postfix_expression : postfix_expression '(' ')' .  (56)

	.  reduce 56


state 75
	argument_expression_list : argument_expression .  (62)

	.  reduce 62


state 76
	argument_expression : assignment_expression .  (61)

	.  reduce 61


state 77
	postfix_expression : postfix_expression '(' argument_expression_list . ')'
	argument_expression_list : argument_expression_list . ',' argument_expression

	')'  shift 98
	','  shift 99


state 78
	postfix_expression : postfix_expression '.' identifier .  (57)

	.  reduce 57


state 79
	assignment_expression : unary_expression assignment_operator assignment_expression .  (16)

	.  reduce 16


state 80
	multiplicative_expression : multiplicative_expression '%' cast_expression .  (44)

	.  reduce 44


state 81
	multiplicative_expression : multiplicative_expression '*' cast_expression .  (42)

	.  reduce 42


state 82
	multiplicative_expression : multiplicative_expression '/' cast_expression .  (43)

	.  reduce 43


state 83
	additive_expression : additive_expression '+' multiplicative_expression .  (39)
	multiplicative_expression : multiplicative_expression . '*' cast_expression
	multiplicative_expression : multiplicative_expression . '/' cast_expression
	multiplicative_expression : multiplicative_expression . '%' cast_expression

	'%'  shift 52
	'*'  shift 53
	'/'  shift 54
	.  reduce 39


state 84
	additive_expression : additive_expression '-' multiplicative_expression .  (40)
	multiplicative_expression : multiplicative_expression . '*' cast_expression
	multiplicative_expression : multiplicative_expression . '/' cast_expression
	multiplicative_expression : multiplicative_expression . '%' cast_expression

	'%'  shift 52
	'*'  shift 53
	'/'  shift 54
	.  reduce 40


state 85
	relational_expression : relational_expression '<' shift_expression .  (33)

	.  reduce 33


state 86
	relational_expression : relational_expression '>' shift_expression .  (34)

	.  reduce 34


state 87
	relational_expression : relational_expression op_larger_equal shift_expression .  (36)

	.  reduce 36


state 88
	relational_expression : relational_expression op_smaller_equal shift_expression .  (35)

	.  reduce 35


state 89
	equality_expression : equality_expression op_equal relational_expression .  (30)
	relational_expression : relational_expression . '<' shift_expression
	relational_expression : relational_expression . '>' shift_expression
	relational_expression : relational_expression . op_smaller_equal shift_expression
	relational_expression : relational_expression . op_larger_equal shift_expression

	'<'  shift 57
	'>'  shift 58
	op_larger_equal  shift 59
	op_smaller_equal  shift 60
	.  reduce 30


state 90
	equality_expression : equality_expression op_not_equal relational_expression .  (31)
	relational_expression : relational_expression . '<' shift_expression
	relational_expression : relational_expression . '>' shift_expression
	relational_expression : relational_expression . op_smaller_equal shift_expression
	relational_expression : relational_expression . op_larger_equal shift_expression

	'<'  shift 57
	'>'  shift 58
	op_larger_equal  shift 59
	op_smaller_equal  shift 60
	.  reduce 31


state 91
	and_expression : and_expression '&' equality_expression .  (28)
	equality_expression : equality_expression . op_equal relational_expression
	equality_expression : equality_expression . op_not_equal relational_expression

	op_equal  shift 61
	op_not_equal  shift 62
	.  reduce 28


state 92
	exclusive_or_expression : exclusive_or_expression '^' and_expression .  (26)
	and_expression : and_expression . '&' equality_expression

	'&'  shift 63
	.  reduce 26


state 93
	inclusive_or_expression : inclusive_or_expression '|' exclusive_or_expression .  (24)
	exclusive_or_expression : exclusive_or_expression . '^' and_expression

	'^'  shift 64
	.  reduce 24


state 94
	logical_and_expression : logical_and_expression op_and inclusive_or_expression .  (22)
	inclusive_or_expression : inclusive_or_expression . '|' exclusive_or_expression

	'|'  shift 65
	.  reduce 22


state 95
	logical_or_expression : logical_or_expression op_or logical_and_expression .  (20)
	logical_and_expression : logical_and_expression . op_and inclusive_or_expression

	op_and  shift 66
	.  reduce 20


state 96
	expression : expression ',' assignment_expression .  (14)

	.  reduce 14


state 97
	selection_statement : IF '(' expression ')' . statement
	selection_statement : IF '(' expression ')' . statement ELSE statement

	'!'  shift 1
	'&'  shift 2
	'('  shift 3
	'*'  shift 4
	'+'  shift 5
	'-'  shift 6
	';'  shift 7
	'{'  shift 8
	'~'  shift 9
	boolean_constant  shift 10
	integer_constant  shift 11
	character_constant  shift 12
	floating_constant  shift 13
	identifier  shift 14
	string_constant  shift 15
	IF  shift 16

	unary_operator  goto 17
	constant  goto 18
	primary_expression  goto 19
	postfix_expression  goto 20
	unary_expression  goto 21
	cast_expression  goto 22
	multiplicative_expression  goto 23
	additive_expression  goto 24
	shift_expression  goto 25
	relational_expression  goto 26
	equality_expression  goto 27
	and_expression  goto 28
	exclusive_or_expression  goto 29
	inclusive_or_expression  goto 30
	logical_and_expression  goto 31
	logical_or_expression  goto 32
	conditional_expression  goto 33
	assignment_expression  goto 34
	expression  goto 35
	expression_statement  goto 36
	selection_statement  goto 37
	statement  goto 100
	compound_statement  goto 40


state 98
	postfix_expression : postfix_expression '(' argument_expression_list ')' .  (55)

	.  reduce 55


state 99
	argument_expression_list : argument_expression_list ',' . argument_expression

	'!'  shift 1
	'&'  shift 2
	'('  shift 3
	'*'  shift 4
	'+'  shift 5
	'-'  shift 6
	'~'  shift 9
	boolean_constant  shift 10
	integer_constant  shift 11
	character_constant  shift 12
	floating_constant  shift 13
	identifier  shift 14
	string_constant  shift 15

	unary_operator  goto 17
	constant  goto 18
	argument_expression  goto 101
	primary_expression  goto 19
	postfix_expression  goto 20
	unary_expression  goto 21
	cast_expression  goto 22
	multiplicative_expression  goto 23
	additive_expression  goto 24
	shift_expression  goto 25
	relational_expression  goto 26
	equality_expression  goto 27
	and_expression  goto 28
	exclusive_or_expression  goto 29
	inclusive_or_expression  goto 30
	logical_and_expression  goto 31
	logical_or_expression  goto 32
	conditional_expression  goto 33
	assignment_expression  goto 76


state 100
	selection_statement : IF '(' expression ')' statement .  (9)
	selection_statement : IF '(' expression ')' statement . ELSE statement

	ELSE  shift 102
	.  reduce 9


state 101
	argument_expression_list : argument_expression_list ',' argument_expression .  (63)

	.  reduce 63


state 102
	selection_statement : IF '(' expression ')' statement ELSE . statement

	'!'  shift 1
	'&'  shift 2
	'('  shift 3
	'*'  shift 4
	'+'  shift 5
	'-'  shift 6
	';'  shift 7
	'{'  shift 8
	'~'  shift 9
	boolean_constant  shift 10
	integer_constant  shift 11
	character_constant  shift 12
	floating_constant  shift 13
	identifier  shift 14
	string_constant  shift 15
	IF  shift 16

	unary_operator  goto 17
	constant  goto 18
	primary_expression  goto 19
	postfix_expression  goto 20
	unary_expression  goto 21
	cast_expression  goto 22
	multiplicative_expression  goto 23
	additive_expression  goto 24
	shift_expression  goto 25
	relational_expression  goto 26
	equality_expression  goto 27
	and_expression  goto 28
	exclusive_or_expression  goto 29
	inclusive_or_expression  goto 30
	logical_and_expression  goto 31
	logical_or_expression  goto 32
	conditional_expression  goto 33
	assignment_expression  goto 34
	expression  goto 35
	expression_statement  goto 36
	selection_statement  goto 37
	statement  goto 103
	compound_statement  goto 40


state 103
	selection_statement : IF '(' expression ')' statement ELSE statement .  (10)

	.  reduce 10


##############################################################################
# Summary
##############################################################################

36 token(s), 29 nonterminal(s)
69 grammar rule(s), 110 state(s)


##############################################################################
# End of File
##############################################################################
